home *** CD-ROM | disk | FTP | other *** search
- //: C20:VectorInsertAndErase.cpp
- // From Thinking in C++, 2nd Edition
- // Available at http://www.BruceEckel.com
- // (c) Bruce Eckel 1999
- // Copyright notice in Copyright.txt
- // Erasing an element from a vector
- #include "Noisy.h"
- #include <iostream>
- #include <vector>
- #include <algorithm>
- using namespace std;
-
- int main() {
- vector<Noisy> v;
- v.reserve(11);
- cout << "11 spaces have been reserved" << endl;
- generate_n(back_inserter(v), 10, NoisyGen());
- ostream_iterator<Noisy> out(cout, " ");
- cout << endl;
- copy(v.begin(), v.end(), out);
- cout << "Inserting an element:" << endl;
- vector<Noisy>::iterator it =
- v.begin() + v.size() / 2; // Middle
- v.insert(it, Noisy());
- cout << endl;
- copy(v.begin(), v.end(), out);
- cout << "\nErasing an element:" << endl;
- // Cannot use the previous value of it:
- it = v.begin() + v.size() / 2;
- v.erase(it);
- cout << endl;
- copy(v.begin(), v.end(), out);
- cout << endl;
- } ///:~
-